package com.css.fxfzypg.modules.saresults.repository;

import com.css.fxfzypg.modules.saresults.entity.*;
import com.css.fxfzypg.modules.saresults.param.AdminUpdateParam;
import com.css.fxfzypg.modules.saresults.param.ApproveParam;
import com.css.fxfzypg.modules.saresults.vo.HistoryVo;
import com.css.fxfzypg.modules.saresults.vo.SaResultsHlVo;

import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

public interface SaResultsRepository {
    void saveApAsicMap(DzqhApAsicMapEntity dzqhApAsicMapEntity);

    void saveApCruxDh(DzqhApCruxDhEntity it);

    void saveApCzruxEl(DzqhApCruxElEntity it);

    void saveApCruxHec(DzqhApCruxHecEntity it);

    void saveApCruxLayerPf(DzqhApCruxLayerPfEntity it);

    void saveApCruxSc(DzqhApCruxScEntity it);

    void saveApCruxSd(DzqhApCruxSdEntity it);

    void saveApCruxSgm(DzqhApCruxSgmEntity it);

    DzqhApAsicMapEntity queryDzqhApAsicMap(String projectId);

    List<DzqhApCruxDhEntity> queryDzqhApCruxDh(String projectId);

    List<DzqhApCruxElEntity> queryDzqhApCruxEl(String projectId);

    List<DzqhApCruxHecEntity> queryDzqhApCruxHec(String projectId);

    List<DzqhApCruxLayerPfEntity> queryDzqhApCruxLayerPf(String projectId);

    List<DzqhApCruxScEntity> queryDzqhApCruxSc(String projectId);

    List<DzqhApCruxSdEntity> queryDzqhApCruxSd(String projectId);

    List<DzqhApCruxSgmEntity> queryDzqhApCruxSgm(String projectId);

    HashMap<String,Object> getSaResultsProject(DzqhApAsicMapEntity mapEntity, int page, int size,String orgId,String provinceId,String userId,String geom);

    void updateApAsicMap(DzqhApAsicMapEntity dzqhApAsicMapEntity);

    void updateApCruxDh(DzqhApCruxDhEntity it);

    void updateApCzruxEl(DzqhApCruxElEntity it);

    void updateApCruxHec(DzqhApCruxHecEntity it);

    void updateApCruxLayerPf(DzqhApCruxLayerPfEntity it);

    void updateApCruxSc(DzqhApCruxScEntity it);

    void updateApCruxSd(DzqhApCruxSdEntity it);

    void updateApCruxSgm(DzqhApCruxSgmEntity it);

    void deleteDzqhApAsicMap(String projectId,String deleteReason);

    HashMap<String,Object> getSaResultsHl(SaResultsHlVo saResultsHlVo, int page, int size,String orgId,String provinceId,String userId,String geom);

    void updateReason(String updateReason,String projectId);

    void saveJournal(DzqhJournalEntity journalEntity);

    List<DzqhJournalEntity> queryHistory(String originalDataId,String status);

    List<DzqhApAsicMapEntity> queryNotSubmitted(String userId);

    void updateDzqhApAsicMapStatus(String projectId, String deleteReason, String status);

    void updateApprovalStatus(String status,String projectId, String reviewComments, String approvalStatus, String userName, String orgName, Date approvalTime);

    DzqhApCruxDhEntity queryDzqhApCruxDhById(String geotechnicalId);

    DzqhApCruxElEntity queryCruxElById(String testId);

    DzqhApCruxHecEntity queryCruxHecById(String ecId);

    DzqhApCruxLayerPfEntity queryCruxLayerPfById(String pfId);

    DzqhApCruxScEntity queryCruxScById(String scDistinguishId);

    DzqhApCruxSdEntity queryCruxSdById(String sdId);

    DzqhApCruxSgmEntity queryCruxSgmById(String sgmId);

    List<DzqhApAsicMapEntity> queryAllProject();

    void deleteApAsicMap(String projectId);

    void updateJournalStatus(String projectId,String status);

    void approvalUserDelete(String projectId,String reviewComments,String approvalStatus,String status,String isDelete,String userName,String orgName,Date approvalTime);

    List<DzqhApAsicMapEntity> queryProjectByProjectName(String projectName);

    void tombstoneApAsicMap(String projectId,String deleteReason);

    void updateOldStatus(String projectId,String updateReason);

    void auditFailed(String status, String projectId, String reviewComments, String approvalStatus, String userName, String orgName, Timestamp currentTimestamp);

    void updateReasonAdmin(String updateReason, String projectId);

    void saveProfileInfo(DzqhProfileInformationEntity it);

    void updateProfileInfo(DzqhProfileInformationEntity it);

    DzqhProfileInformationEntity queryprofileInfoById(String bisectId);

    List<DzqhProfileInformationEntity>  queryprofileInfo(String projectId);

    List<DzqhApCruxLayerPfEntity> getAllPf();

    void update(String pfId, String name);

    List<DzqhApCruxDhEntity> getDh(String pfId);

    List<DzqhApCruxScEntity> getSc(String pfId);

    void update1(double shearWaveVelocityValue, double eswv, String pfId);

    void adminUpdate(AdminUpdateParam param);

    void deleteById(AdminUpdateParam param,String status);

    void updateDataStatusByOriginalDataId(ApproveParam param, String userName, Timestamp time, String orgName);

    void deleteDataById(String id,Integer type);

    void deleteDataByOriginalDataId(String id,Integer type);

    void updateStatusById(ApproveParam param, String userName, Timestamp time, String orgName,String status);

    void updateStatus(DzqhApAsicMapEntity entity, String projectId);

    List<DzqhProfileInformationEntity> queryProfileInformationList(String projectId);

    void updateDataStatusById(ApproveParam param, String userName, Timestamp time, String orgName);

    List<HistoryVo> getHistory(String id, Integer type);

    void deleteDataByOriginalDataIdAndStatus(String projectId);

    String queryLogId(String id, Integer type);

    void deleteDhByProjectId(String id,Integer type);

    void deleteElByProjectId(String id,Integer type);

    void deleteHecByProjectId(String id,Integer type);

    void deletePfByProjectId(String id,Integer type);

    void deleteScByProjectId(String id,Integer type);

    void deleteSdByProjectId(String id,Integer type);

    void deleteSgmByProjectId(String id,Integer type);

    void deleteProByProjectId(String id,Integer type);

    String queryDzqhApBasicMapByOldId(String id, Integer type);
}
